package com.hbnu.collection;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

/**
 * @author kittychen
 * @since 2025-10-15 17:29
 */
public class ArrayListDemo {

    public static void main(String[] args) {
        List<String> arrayList = new ArrayList<>(10);

        arrayList.add("element6");
        arrayList.add("element1");
        arrayList.add("element9");
        arrayList.add("element2");
        arrayList.add("element6");

        System.out.println(arrayList);

        System.out.println(arrayList.size());   // 获取集合大小
        System.out.println(arrayList.isEmpty());  // 判断集合是否为空
        System.out.println(arrayList.contains("element6"));  // 判断集合中是否包含某个元素
        System.out.println(arrayList.indexOf("element6"));  // 获取某个元素在集合中的索引
        System.out.println(arrayList.lastIndexOf("element6"));  // 获取某个元素在集合中的最后一个索引
        System.out.println(arrayList.get(1));  // 获取某个索引位置的元素
        // arrayList.remove(1);  // 删除某个索引位置的元素
        arrayList.set(1, "element7");  // 修改某个索引位置的元素
        System.out.println(arrayList);
        arrayList.add(1, "element8");  // 在某个索引位置插入元素
        System.out.println(arrayList);

        // 集合的遍历
        System.out.println("普通for循环遍历集合");
        for (int i = 0; i < arrayList.size(); i++) {
            System.out.print(arrayList.get(i) + "\t");
        }
        System.out.println();

        System.out.println("增强for循环遍历集合");
        for (String element : arrayList) {
            System.out.print(element + "\t");
        }
        System.out.println();

        System.out.println("迭代器遍历集合");
        Iterator<String> iterator = arrayList.iterator();
        while (iterator.hasNext()) {
            System.out.print(iterator.next() + "\t");
        }
    }
}
